[Multi_K8s-Plugin] Add initializer hook for Helm repo and OCI registry auth#6723
[Multi_K8s-Plugin] Add initializer hook for Helm repo and OCI registry auth#6723mohammedfirdouss wants to merge 5 commits intopipe-cd:masterfrom
Conversation
…y auth Signed-off-by: Mohammed Firdous <124298708+mohammedfirdouss@users.noreply.github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #6723 +/- ##
==========================================
+ Coverage 29.48% 33.25% +3.76%
==========================================
Files 593 45 -548
Lines 63440 2977 -60463
==========================================
- Hits 18706 990 -17716
+ Misses 43289 1936 -41353
+ Partials 1445 51 -1394
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@Warashi Please look when you have time for review. |
Warashi
left a comment
There was a problem hiding this comment.
Almost LGTM.
The one point I have a concern about is the password handling.
| args := []string{ | ||
| "registry", | ||
| "login", | ||
| "-u", | ||
| username, | ||
| "-p", | ||
| password, | ||
| address, | ||
| } |
There was a problem hiding this comment.
Can we pass the password via stdin?
The command arguments can be read more easily than the stdin from other processes, so it's better to pass the password via stdin.
There was a problem hiding this comment.
Sure we can do that, i think the cli arguments wont be effective.
00a1267 to
1383ce8
Compare
Signed-off-by: Mohammed Firdous <124298708+mohammedfirdouss@users.noreply.github.com>
1383ce8 to
f03774f
Compare
What this PR does:
Adds an initializer hook to the
kubernetes_multiclusterplugin, bringing it to parity with the single-clusterkubernetesplugin.At plugin startup, the initializer:
helm repo add+helm repo update)helm registry login)This also introduces
KubernetesPluginConfig(withchartRepositoriesandchartRegistriesfields) as the plugin-level config type, replacingsdk.ConfigNoneacross the deployment, livestate, and plan-preview plugin interfaces.Why we need it:
Without this, users of the multicluster plugin deploying from private Helm chart repositories or OCI registries would get a 401 Unauthorized error at manifest load time with no clear way to provide credentials. The single-cluster plugin has supported this since its initializer was added the multicluster plugin was missing the equivalent.
Which issue(s) this PR fixes:
Fixes #6446
Does this PR introduce a user-facing change?:
chartRepositoriesandchartRegistriesin their piped plugin config for the multicluster plugin, enabling deployments from private Helm repositories and OCI registries.